#ifndef SHINYLISTDELEGATE_H
#define SHINYLISTDELEGATE_H

#include <QStyledItemDelegate>

/*
  ShinyListDelegate implements the layout and sizing of ShinyListItems
  when they are displayed on a ShinyList.
 */
class ShinyListDelegate : public QStyledItemDelegate
{
    Q_OBJECT
public:
    explicit ShinyListDelegate(QObject *parent = 0);

    enum datarole {
        HeaderRole = Qt::UserRole + 100,
        SubHeaderRole = Qt::UserRole + 101,
        IconRole = Qt::UserRole + 102
    };

    void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
    QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;

signals:

public slots:

};

#endif // SHINYLISTDELEGATE_H
